﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020000D5 RID: 213
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class AvatarProperty : IMessage<AvatarProperty>, IMessage, IEquatable<AvatarProperty>, IDeepCloneable<AvatarProperty>, IBufferMessage
	{
		// Token: 0x170002DE RID: 734
		// (get) Token: 0x060009D1 RID: 2513 RVA: 0x0001D55F File Offset: 0x0001B75F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<AvatarProperty> Parser
		{
			get
			{
				return AvatarProperty._parser;
			}
		}

		// Token: 0x170002DF RID: 735
		// (get) Token: 0x060009D2 RID: 2514 RVA: 0x0001D566 File Offset: 0x0001B766
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return AvatarPropertyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170002E0 RID: 736
		// (get) Token: 0x060009D3 RID: 2515 RVA: 0x0001D578 File Offset: 0x0001B778
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return AvatarProperty.Descriptor;
			}
		}

		// Token: 0x060009D4 RID: 2516 RVA: 0x0001D57F File Offset: 0x0001B77F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public AvatarProperty()
		{
		}

		// Token: 0x060009D5 RID: 2517 RVA: 0x0001D588 File Offset: 0x0001B788
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public AvatarProperty(AvatarProperty other) : this()
		{
			this.maxHp_ = other.maxHp_;
			this.attack_ = other.attack_;
			this.defence_ = other.defence_;
			this.speed_ = other.speed_;
			this.leftHp_ = other.leftHp_;
			this.leftSp_ = other.leftSp_;
			this.maxSp_ = other.maxSp_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060009D6 RID: 2518 RVA: 0x0001D600 File Offset: 0x0001B800
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public AvatarProperty Clone()
		{
			return new AvatarProperty(this);
		}

		// Token: 0x170002E1 RID: 737
		// (get) Token: 0x060009D7 RID: 2519 RVA: 0x0001D608 File Offset: 0x0001B808
		// (set) Token: 0x060009D8 RID: 2520 RVA: 0x0001D610 File Offset: 0x0001B810
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double MaxHp
		{
			get
			{
				return this.maxHp_;
			}
			set
			{
				this.maxHp_ = value;
			}
		}

		// Token: 0x170002E2 RID: 738
		// (get) Token: 0x060009D9 RID: 2521 RVA: 0x0001D619 File Offset: 0x0001B819
		// (set) Token: 0x060009DA RID: 2522 RVA: 0x0001D621 File Offset: 0x0001B821
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Attack
		{
			get
			{
				return this.attack_;
			}
			set
			{
				this.attack_ = value;
			}
		}

		// Token: 0x170002E3 RID: 739
		// (get) Token: 0x060009DB RID: 2523 RVA: 0x0001D62A File Offset: 0x0001B82A
		// (set) Token: 0x060009DC RID: 2524 RVA: 0x0001D632 File Offset: 0x0001B832
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Defence
		{
			get
			{
				return this.defence_;
			}
			set
			{
				this.defence_ = value;
			}
		}

		// Token: 0x170002E4 RID: 740
		// (get) Token: 0x060009DD RID: 2525 RVA: 0x0001D63B File Offset: 0x0001B83B
		// (set) Token: 0x060009DE RID: 2526 RVA: 0x0001D643 File Offset: 0x0001B843
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Speed
		{
			get
			{
				return this.speed_;
			}
			set
			{
				this.speed_ = value;
			}
		}

		// Token: 0x170002E5 RID: 741
		// (get) Token: 0x060009DF RID: 2527 RVA: 0x0001D64C File Offset: 0x0001B84C
		// (set) Token: 0x060009E0 RID: 2528 RVA: 0x0001D654 File Offset: 0x0001B854
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double LeftHp
		{
			get
			{
				return this.leftHp_;
			}
			set
			{
				this.leftHp_ = value;
			}
		}

		// Token: 0x170002E6 RID: 742
		// (get) Token: 0x060009E1 RID: 2529 RVA: 0x0001D65D File Offset: 0x0001B85D
		// (set) Token: 0x060009E2 RID: 2530 RVA: 0x0001D665 File Offset: 0x0001B865
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double LeftSp
		{
			get
			{
				return this.leftSp_;
			}
			set
			{
				this.leftSp_ = value;
			}
		}

		// Token: 0x170002E7 RID: 743
		// (get) Token: 0x060009E3 RID: 2531 RVA: 0x0001D66E File Offset: 0x0001B86E
		// (set) Token: 0x060009E4 RID: 2532 RVA: 0x0001D676 File Offset: 0x0001B876
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double MaxSp
		{
			get
			{
				return this.maxSp_;
			}
			set
			{
				this.maxSp_ = value;
			}
		}

		// Token: 0x060009E5 RID: 2533 RVA: 0x0001D67F File Offset: 0x0001B87F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as AvatarProperty);
		}

		// Token: 0x060009E6 RID: 2534 RVA: 0x0001D690 File Offset: 0x0001B890
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(AvatarProperty other)
		{
			return other != null && (other == this || (ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.MaxHp, other.MaxHp) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Attack, other.Attack) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Defence, other.Defence) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Speed, other.Speed) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.LeftHp, other.LeftHp) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.LeftSp, other.LeftSp) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.MaxSp, other.MaxSp) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060009E7 RID: 2535 RVA: 0x0001D770 File Offset: 0x0001B970
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.MaxHp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.MaxHp);
			}
			if (this.Attack != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Attack);
			}
			if (this.Defence != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Defence);
			}
			if (this.Speed != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Speed);
			}
			if (this.LeftHp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.LeftHp);
			}
			if (this.LeftSp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.LeftSp);
			}
			if (this.MaxSp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.MaxSp);
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060009E8 RID: 2536 RVA: 0x0001D892 File Offset: 0x0001BA92
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060009E9 RID: 2537 RVA: 0x0001D89A File Offset: 0x0001BA9A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060009EA RID: 2538 RVA: 0x0001D8A4 File Offset: 0x0001BAA4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.MaxHp != 0.0)
			{
				output.WriteRawTag(9);
				output.WriteDouble(this.MaxHp);
			}
			if (this.Attack != 0.0)
			{
				output.WriteRawTag(17);
				output.WriteDouble(this.Attack);
			}
			if (this.Defence != 0.0)
			{
				output.WriteRawTag(25);
				output.WriteDouble(this.Defence);
			}
			if (this.Speed != 0.0)
			{
				output.WriteRawTag(33);
				output.WriteDouble(this.Speed);
			}
			if (this.LeftHp != 0.0)
			{
				output.WriteRawTag(41);
				output.WriteDouble(this.LeftHp);
			}
			if (this.LeftSp != 0.0)
			{
				output.WriteRawTag(49);
				output.WriteDouble(this.LeftSp);
			}
			if (this.MaxSp != 0.0)
			{
				output.WriteRawTag(57);
				output.WriteDouble(this.MaxSp);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060009EB RID: 2539 RVA: 0x0001D9C8 File Offset: 0x0001BBC8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.MaxHp != 0.0)
			{
				num += 9;
			}
			if (this.Attack != 0.0)
			{
				num += 9;
			}
			if (this.Defence != 0.0)
			{
				num += 9;
			}
			if (this.Speed != 0.0)
			{
				num += 9;
			}
			if (this.LeftHp != 0.0)
			{
				num += 9;
			}
			if (this.LeftSp != 0.0)
			{
				num += 9;
			}
			if (this.MaxSp != 0.0)
			{
				num += 9;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060009EC RID: 2540 RVA: 0x0001DA88 File Offset: 0x0001BC88
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(AvatarProperty other)
		{
			if (other == null)
			{
				return;
			}
			if (other.MaxHp != 0.0)
			{
				this.MaxHp = other.MaxHp;
			}
			if (other.Attack != 0.0)
			{
				this.Attack = other.Attack;
			}
			if (other.Defence != 0.0)
			{
				this.Defence = other.Defence;
			}
			if (other.Speed != 0.0)
			{
				this.Speed = other.Speed;
			}
			if (other.LeftHp != 0.0)
			{
				this.LeftHp = other.LeftHp;
			}
			if (other.LeftSp != 0.0)
			{
				this.LeftSp = other.LeftSp;
			}
			if (other.MaxSp != 0.0)
			{
				this.MaxSp = other.MaxSp;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060009ED RID: 2541 RVA: 0x0001DB7B File Offset: 0x0001BD7B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060009EE RID: 2542 RVA: 0x0001DB84 File Offset: 0x0001BD84
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 25U)
				{
					if (num == 9U)
					{
						this.MaxHp = input.ReadDouble();
						continue;
					}
					if (num == 17U)
					{
						this.Attack = input.ReadDouble();
						continue;
					}
					if (num == 25U)
					{
						this.Defence = input.ReadDouble();
						continue;
					}
				}
				else if (num <= 41U)
				{
					if (num == 33U)
					{
						this.Speed = input.ReadDouble();
						continue;
					}
					if (num == 41U)
					{
						this.LeftHp = input.ReadDouble();
						continue;
					}
				}
				else
				{
					if (num == 49U)
					{
						this.LeftSp = input.ReadDouble();
						continue;
					}
					if (num == 57U)
					{
						this.MaxSp = input.ReadDouble();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x040003F2 RID: 1010
		private static readonly MessageParser<AvatarProperty> _parser = new MessageParser<AvatarProperty>(() => new AvatarProperty());

		// Token: 0x040003F3 RID: 1011
		private UnknownFieldSet _unknownFields;

		// Token: 0x040003F4 RID: 1012
		public const int MaxHpFieldNumber = 1;

		// Token: 0x040003F5 RID: 1013
		private double maxHp_;

		// Token: 0x040003F6 RID: 1014
		public const int AttackFieldNumber = 2;

		// Token: 0x040003F7 RID: 1015
		private double attack_;

		// Token: 0x040003F8 RID: 1016
		public const int DefenceFieldNumber = 3;

		// Token: 0x040003F9 RID: 1017
		private double defence_;

		// Token: 0x040003FA RID: 1018
		public const int SpeedFieldNumber = 4;

		// Token: 0x040003FB RID: 1019
		private double speed_;

		// Token: 0x040003FC RID: 1020
		public const int LeftHpFieldNumber = 5;

		// Token: 0x040003FD RID: 1021
		private double leftHp_;

		// Token: 0x040003FE RID: 1022
		public const int LeftSpFieldNumber = 6;

		// Token: 0x040003FF RID: 1023
		private double leftSp_;

		// Token: 0x04000400 RID: 1024
		public const int MaxSpFieldNumber = 7;

		// Token: 0x04000401 RID: 1025
		private double maxSp_;
	}
}
